import java.util.ArrayList;
import java.util.List;

/**
 * 具体聚集类
 * @author shuang
 * @date 2022/10/20 9:58
 */
public class ConcreteAggregate extends Aggregate {

    /**
     * 聚集类的内部是一个 List 集合
     */
    private List<Object> items = new ArrayList<>();

    /**
     * 生成一个迭代器对象
     * @return
     */
    @Override
    public Iterator CreateIterator() {
        return new ConcreteIterator(this);
    }
    
    public int count() {
        return items.size();
    }
    
    public Object get(int index) {
        return items.get(index);
    }
    
    public void set(Object object) {
        items.add(object);
    }
}